Code coverage testing is a way of performing test runs of computer software while insuring that the test runs actually test all or a substantial portion of the executable files, functions, conditions, or statements in the computer software. Code coverage testing is required for certain critical applications, such as aviation software. See Software Verification Tools Assessment Study, DOT/FAA/AR-006/54, June 2007, 139 pages, U.S. Department of Transportation, Federal Aviation Administration, Washington, D.C., incorporated herein by reference in its entirety.
For less critical applications, some degree of code coverage testing is desired in order to reduce customer complaints when software crashes due to fatal execution errors. Depending on the size and complexity of the applications, the less critical applications may not justify testing for all of the combinations of conditions that may be required for critical applications. Testing for all combinations of conditions is relatively expensive in terms of labor and processing time for large or complex applications. Exhaustive testing may also delay the introduction of new software or software updates to replace or repair old software that is less reliable.